import LuckyExcel from "luckyexcel";
import { Base64 } from "js-base64";
export function excelView(url) {
  // fileVisible.value = true; // 加载 excel 文件
  LuckyExcel.transformExcelToLuckyByUrl(url, "", (exportJson, luckysheetfile) => {
    if (exportJson.sheets == null || exportJson.sheets.length == 0) {
      message.error("文件读取失败!");
      return;
    } // 销毁原来的表格
    window.luckysheet.destroy(); // 重新创建新表格
    window.luckysheet.create({
      container: "fileView", // 设定DOM容器的id
      showtoolbar: false, // 是否显示工具栏
      showinfobar: false, // 是否显示顶部信息栏
      showstatisticBar: false, // 是否显示底部计数栏
      sheetBottomConfig: false, // sheet页下方的添加行按钮和回到顶部按钮配置
      // allowEdit: false, // 是否允许前台编辑
      enableAddRow: false, // 是否允许增加行
      enableAddCol: false, // 是否允许增加列
      sheetFormulaBar: false, // 是否显示公式栏
      enableAddBackTop: false, //返回头部按钮
      data: exportJson.sheets, //表格内容
      title: exportJson.info.name //表格标题
    });
  });
}
// 文件预览
export const filePreview = (path) => {
  let host = location.hostname;
  let port = process.env.VUE_APP_FILE_PREVIEW_PORT; // 预览端口
  // 访问地址等于内网ip
  if (host !== process.env.VUE_APP_FILE_INTRANET_IP) {
    host = process.env.VUE_APP_FILE_EXTRANET_IP;
  }

  const url = `http://${host}:${port}/onlinePreview?url=${encodeURIComponent(Base64.encode(path))}`;
  return url;
};
// 预览文件
export const previewFile = (file) => {
  const arr = [".pdf", ".png", ".jpg", ".jpeg", "mp4"];
  let fileSuffix = file.fileSuffix;
  if (!fileSuffix) {
    const fileName = file.name.split(".");
    fileSuffix = "." + fileName[fileName.length - 1];
  }
  if (arr.includes(fileSuffix)) {
    window.open(fileUrlTransition(file.url));
    return;
  }
  const path = file.url; //要预览文件的访问地址
  const url = filePreview(path);
  window.open(url);
};
// 文件地址转换
export const fileUrlTransition = (url) => {
  if (process.env.VUE_APP_FILE_PATH != undefined) {
    // 截取路径前半部分
    const path = process.env.VUE_APP_OSS_PATH;
    if (url.lastIndexOf(path) > -1) {
      return location.origin + process.env.VUE_APP_FILE_PATH + url.slice(url.lastIndexOf(path) + path.length);
    }
  }
  return url;
};
